package com.listeningframework.boot.autoconfigure.apidoc;

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 
 * Swagger文档生成工具集成配置文件
 *
 * @author lixining
 * @version $Id: SwaggerProperties.java, v 0.1 2016年11月8日 下午3:18:19 lixining Exp $
 */
@ConfigurationProperties(prefix = "listening.apidoc")
public class SwaggerProperties {
    /**
     * LogStash
     */
    private Swagger swagger = new Swagger();

    /**
     * Getter method for property <tt>swagger</tt>.
     * 
     * @return property value of swagger
     */
    public Swagger getSwagger() {
        return swagger;
    }

    /**
     * Setter method for property <tt>swagger</tt>.
     * 
     * @param swagger value to be assigned to property swagger
     */
    public void setSwagger(Swagger swagger) {
        this.swagger = swagger;
    }

    /**
     * Swagger Config
     */
    public static class Swagger {
        /**
         * 是否启用
         */
        private boolean enabled     = false;

        private String  title       = "Application API";

        private String  description = "Application API documentation";

        private String  version     = "0.0.1";

        private String  termsOfServiceUrl;

        private String  contactName;

        private String  contactUrl;

        private String  contactEmail;

        private String  license;

        private String  licenseUrl;

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getVersion() {
            return version;
        }

        public void setVersion(String version) {
            this.version = version;
        }

        public String getTermsOfServiceUrl() {
            return termsOfServiceUrl;
        }

        public void setTermsOfServiceUrl(String termsOfServiceUrl) {
            this.termsOfServiceUrl = termsOfServiceUrl;
        }

        public String getContactName() {
            return contactName;
        }

        public void setContactName(String contactName) {
            this.contactName = contactName;
        }

        public String getContactUrl() {
            return contactUrl;
        }

        public void setContactUrl(String contactUrl) {
            this.contactUrl = contactUrl;
        }

        public String getContactEmail() {
            return contactEmail;
        }

        public void setContactEmail(String contactEmail) {
            this.contactEmail = contactEmail;
        }

        public String getLicense() {
            return license;
        }

        public void setLicense(String license) {
            this.license = license;
        }

        public String getLicenseUrl() {
            return licenseUrl;
        }

        public void setLicenseUrl(String licenseUrl) {
            this.licenseUrl = licenseUrl;
        }

        public boolean isEnabled() {
            return enabled;
        }

        public void setEnabled(boolean enabled) {
            this.enabled = enabled;
        }

    }
}
